package com.mycompany.app.hr.workflow.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Embeddable;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

@Embeddable
public class ApprovalStatus {

    @Column(name = "apply_by")
    private String applyBy;

    @Column(name = "apply_date")
    private Date applyDate;

    @Column(name = "apply_status")
    private String applyStatus;

    @Column(name = "apply_delegate_from")
    private String applyDelegateFrom;

    @Column(name = "cancel_by")
    private String cancelBy;

    @Column(name = "cancel_date")
    private Date cancelDate;

    @Column(name = "cancel_status")
    private String cancelStatus;

    @Column(name = "cancel_delegate_from")
    private String cancelDelegateFrom;

    //=======================================================
    @Override
    public String toString() {

        return ToStringBuilder.reflectionToString(this,
                ToStringStyle.SHORT_PREFIX_STYLE);
    }

    //=======================================================

    public String getApplyBy() {

        return applyBy;
    }

    public void setApplyBy(String applyBy) {

        this.applyBy = applyBy;
    }

    public Date getApplyDate() {

        return applyDate;
    }

    public void setApplyDate(Date applyDate) {

        this.applyDate = applyDate;
    }

    public String getApplyStatus() {

        return applyStatus;
    }

    public void setApplyStatus(String applyStatus) {

        this.applyStatus = applyStatus;
    }

    public String getApplyDelegateFrom() {

        return applyDelegateFrom;
    }

    public void setApplyDelegateFrom(String applyDelegateFrom) {

        this.applyDelegateFrom = applyDelegateFrom;
    }

    public String getCancelBy() {

        return cancelBy;
    }

    public void setCancelBy(String cancelBy) {

        this.cancelBy = cancelBy;
    }

    public Date getCancelDate() {

        return cancelDate;
    }

    public void setCancelDate(Date cancelDate) {

        this.cancelDate = cancelDate;
    }

    public String getCancelStatus() {

        return cancelStatus;
    }

    public void setCancelStatus(String cancelStatus) {

        this.cancelStatus = cancelStatus;
    }

    public String getCancelDelegateFrom() {

        return cancelDelegateFrom;
    }

    public void setCancelDelegateFrom(String cancelDelegateFrom) {

        this.cancelDelegateFrom = cancelDelegateFrom;
    }

}
